$(document).ready(function(){
	
	$("table#example1 a").tipTip();
	
	var objGlobal;
	
	/*
	$(function() {
        $("#example1").dataTable();
        $('#example2').dataTable({
            "bPaginate": true,
            "bLengthChange": false,
            "bFilter": false,
            "bSort": true,
            "bInfo": true,
            "bAutoWidth": false
        });
    });
	*/
	
	$(function() {
        $("#example1").dataTable({
        	"bSort": false
        });
        
        
        $('#example2').dataTable({
            "bPaginate": true,
            "bLengthChange": false,
            "bFilter": false,
            "bSort": true,
            "bInfo": true,
            "bAutoWidth": false
        });
        
        
        $('#example3').dataTable({
        	"bPaginate": false,
        	"sScrollY": "300",
        	//"sScrollX": "100%",
        	"bScrollCollapse": true,
        	"bInfo": true,
        	"bSort": true,
        	//"iDisplayLength": 10,
        	"aLengthMenu": [["All"]]
        });
        
        $('#example4').dataTable({
        	"bPaginate": false,
        	//"sScrollY": "300",
        	"bScrollCollapse": true,
        	"bAutoWidth": true,
        	"bSort": false,
        	"bInfo": false,
        	"bFilter": false,
        	"aLengthMenu": [["All"]]
        });
        
	});

	function keyPress(){
		$(".linha").keypress(function(evento) {
			var codigo;
	        if(navigator.appName == "Netscape"){
	            codigo = evento.which;
	        } else {
	            codigo = evento.keyCode;
	        }
			
	        if ( codigo == 13 || codigo == 8 || codigo == 0) {
	        	return true;
	        }
	
	        if((codigo < 48 || codigo > 57) && codigo != 44){
	            if(navigator.appName != "Netscape"){
	            	evento.keyCode = 0;
	            }
	            return false;
	        }
		});
	}
	
	$(".qtd-produto").keypress(function(evento) {
		var codigo;
        if(navigator.appName == "Netscape"){
            codigo = evento.which;
        } else {
            codigo = evento.keyCode;
        }
		
        if ( codigo == 13 || codigo == 8 || codigo == 0) {
        	return true;
        }

        if(codigo < 48 || codigo > 57){
            if(navigator.appName != "Netscape"){
            	evento.keyCode = 0;
            }
            return false;
        }
	}); 
	
	$('a#excluirPedido').click(function(evt){
		var dados = {codigo: $(this).attr('codPedido')};
		var url = $('form#formExcluirPedido').attr('action');
		url = url+'/'+dados.codigo;
		$('form#formExcluirPedido').attr('action', url);
	});
	
	$('a#cancelarPedido').click(function(evt){
		var dados = {codigo: $(this).attr('codPedido')};
		var url = $('form#formCancelarPedido').attr('action');
		url = url+'/'+dados.codigo;
		$('form#formCancelarPedido').attr('action', url);
	});
	
	$('.reprovar-pedido').click(function(evt){
		evt.preventDefault();
		
		var url = $(this).attr('url');
		$('#confirmar-reprovacao-pedido').click(function(evt){
			evt.preventDefault();

			var reprovacao = 0, observacao = '', prazoVerify = false, observacaoVerify = false;
			$('.camposReprovacao').each(function(i){
				if ($(this).val() != '' && $(this).val() != '0'){
					if ($(this).attr('name') == 'motivo_reprovacao'){
						reprovacao = $(this).val();
						prazoVerify = true;
					}
					if ($(this).attr('name') == 'observacao'){
						observacao = $(this).val();
						observacaoVerify = true;
					}
				}
			});
			
			if (prazoVerify == true && observacaoVerify == true){
				$('#formReprovaPedido').each(function(){
					$(this).attr('action', url);
					$(this).submit();
				});
			} else {
				alert("Obrigatório o preenchimento dos campos!");
				exit;
			}
			
		});
	});
	
	$("input[name=desconto]").blur(function(){
		var botaoDesconto = $(this).val();
		//alert(botaoDesconto);
		if (botaoDesconto != ''){
			if (botaoDesconto != 0){
				if (botaoDesconto.val() > $("#desconto_maximo").val()){
					alert("Desconto maior do que o permitido!");
					botaoDesconto.addClass("red");
					botaoDesconto.focus();
					$("#enviar-pedido").attr('disabled', 'disabled');
				} else {
					botaoDesconto.removeClass("red");
					$("#enviar-pedido").removeAttr('disabled');
				}
			} else {
				alert("Se não for conceder desconto, por favor, deixe o campo em branco.");
				botaoDesconto.addClass("red");
				$("#enviar-pedido").attr('disabled', 'disabled');
				botaoDesconto.focus();
			}
		} else {
			botaoDesconto.removeClass("red");
			$("#enviar-pedido").removeAttr('disabled');
		}
	});
	
	//ADICIONA PEDIDO NA BASE DE DADOS ALEGROPEDIDO
	$('#add-ped').click(function(evt){
		evt.preventDefault();
		
		var qtdProdutos = 0;
		var produtos = {}, cart = [];
		$('.qtd-produto').each(function(i){
			if ($(this).val() != '' && $(this).val() != '0') {
				qtdProdutos++;
				cart.push({ 
					id: $(this).attr('id'), 
					descricao: $(this).attr('descricao'), 
					qtd: $(this).val(), 
					preco: $(this).attr('preco'), 
					ipi: $(this).attr('ipi'), 
					ipi_formatado: $(this).attr('ipi_formatado'),
					preco_ipi: $(this).attr('preco_ipi')
				});
				/*
				produtos.id = $(this).attr('id');
				produtos.descricao = $(this).attr('descricao');
				produtos.qtd = $(this).val();
				produtos.preco = $(this).attr('preco');
				produtos.ipi = $(this).attr('ipi');
				produtos.ipi_formatado = $(this).attr('ipi_formatado');
				produtos.preco_ipi = $(this).attr('preco_ipi');
				
				cart.push({ id: produtos.id, 
							descricao: produtos.descricao, 
							qtd: produtos.qtd, 
							preco: produtos.preco, 
							ipi: produtos.ipi, 
							ipi_formatado: produtos.ipi_formatado,
							preco_ipi: produtos.preco_ipi
						});
				*/
			}
		});
		
		if (qtdProdutos > 0){
			var dados = {produtos: cart};
			confirmaPedido(dados, '#formConfirmaPedido tbody');
		} else {
			alert("Ops! Selecione algum produto para poder finalizar o pedido.");
			return false;
		}
	});
	
	//ALTERA PEDIDO NA BASE DE DADOS ALEGROPEDIDOS
	$('#alt-ped').click(function(evt){
		evt.preventDefault();
		
		var qtdProdutos = 0;
		var dados = {codigo: $(this).attr('codPedido')};
		var url = $('form#formConfirmaAlteracaoPedido').attr('action');
		url = url+'/'+dados.codigo;
		$('form#formConfirmaAlteracaoPedido').attr('action', url);
		
		var produtos = {}, cart = [];
		$('.qtd-produto').each(function(i){
			if ($(this).val() != '' && $(this).val() != '0') {
				qtdProdutos++;
				cart.push({ 
					id: $(this).attr('id'), 
					descricao: $(this).attr('descricao'), 
					qtd: $(this).val(), 
					preco: $(this).attr('preco'), 
					ipi: $(this).attr('ipi'), 
					ipi_formatado: $(this).attr('ipi_formatado'),
					preco_ipi: $(this).attr('preco_ipi')
				});
				/*produtos.id = $(this).attr('id');
				produtos.descricao = $(this).attr('descricao');
				produtos.qtd = $(this).val();
				produtos.preco = $(this).attr('preco');
				produtos.ipi = $(this).attr('ipi');
				produtos.ipi_formatado = $(this).attr('ipi_formatado');
				produtos.preco_ipi = $(this).attr('preco_ipi');
				
				cart.push({ id: produtos.id, 
							descricao: produtos.descricao, 
							qtd: produtos.qtd, 
							preco: produtos.preco, 
							ipi: produtos.ipi, 
							ipi_formatado: produtos.ipi_formatado,
							preco_ipi: produtos.preco_ipi
						});
				*/
			}
		});
		
		if (qtdProdutos > 0){
			var dados = {produtos: cart};
			confirmaPedido(dados, '#formConfirmaAlteracaoPedido tbody');
		} else {
			alert("Ops! Selecione algum produto para poder finalizar o pedido.");
			return false;
		}
	});
	
	function confirmaPedido(dados, form){
    	var obj = eval(dados);
    	objGlobal = obj;
    	
    	$(form).empty();
    	$('#valorTotal').empty();
    	$('#valorTotalComIPI').empty();
    	$('#valorTotalAltera').empty();
    	$('#valorTotalComIPIAltera').empty();
    	
    	var valorTotalPedido = 0, valorTotalPedidoFormatado = 0; 
    	var valorTotalPedidoComIPI = 0, valorTotalPedidoComIPIFormatado = 0;
    	var valorTotalProduto = 0, valorTotalProdutoFormatado = 0; 
    	var valorTotalProdutoComIpi = 0, valorTotalProdutoComIpiFormatado = 0;
    	var ipi = 0, ipiFormatado = 0; 
    	var valorUnitario = 0, valorUnitarioFormatado = 0;
    	var valorUnitarioComIpi = 0, valorUnitarioComIpiFormatado = 0;
    	var cont = 0;
    	
    	//alert(obj.produtos.length);
    	
    	for (i = 0; i < obj.produtos.length; i++) {
    		cont++;
    		//alert(cont);
    		
    		idProduto = obj.produtos[i].id;
    		descricaoProduto = obj.produtos[i].descricao;
    		quantidade = obj.produtos[i].qtd;
    		valorUnitario = obj.produtos[i].preco;
    		ipi = obj.produtos[i].ipi;
    		ipiFormatado = obj.produtos[i].ipi_formatado;
    		valorUnitarioComIpi = obj.produtos[i].preco_ipi;
    		
    		
    		
    		
//    		alert("valor unitario: "+valorUnitario);
    		valorTotalProduto = valorUnitario*quantidade;
//    		valorTotalProduto = parseFloat(valorTotalProduto);
//    		alert("valor unitario FLOAT: "+valorUnitario);
    		
    		
    		valorTotalProduto = formataValorDecimal(valorTotalProduto);
//    		alert("valor decimal, total produto: "+valorTotalProduto);
    		
    		
//    		alert("valor total produto: " + valorTotalProduto);
    		valorTotalProdutoComIpi = valorUnitarioComIpi*quantidade;
    		valorTotalProdutoComIpi = formataValorDecimal(valorTotalProdutoComIpi);
//    		alert("valor total produto com ipi: " + valorTotalProdutoComIpi);
    		
    		
    		valorTotalPedido = valorTotalPedido + parseFloat(valorTotalProduto);
    		valorTotalPedidoComIPI = valorTotalPedidoComIPI + parseFloat(valorTotalProdutoComIpi);
    		
    		//Converte os valores em valores de moeda
//    		alert("valor unitario: "+valorUnitario);
    		valorUnitarioFormatado = converteFloatMoeda(valorUnitario);
//    		alert("OK - valor unitario: "+valorUnitarioFormatado);

//    		alert("valor unitario com ipi: "+valorUnitarioComIpi);
    		valorUnitarioComIpiFormatado = converteFloatMoeda(valorUnitarioComIpi);
//    		alert("OK - valor unitario com ipi: "+valorUnitarioComIpiFormatado);
    		
//    		alert("valor total: "+valorTotalProduto);
    		valorTotalProdutoFormatado = converteFloatMoeda(valorTotalProduto);
//    		alert("OK - valor total: "+valorTotalProdutoFormatado);
    		
//    		alert("valor total com ipi: "+valorTotalProdutoComIpi);
    		valorTotalProdutoComIpiFormatado = converteFloatMoeda(valorTotalProdutoComIpi);
//    		alert("OK - valor total com ipi: "+valorTotalProdutoComIpiFormatado);
    		
    		
    		$(form).append("<tr>"+
    		//Retirado a Comissão do vendedor
    		//"<td width='20px'>			  		<input type='text'   class='linha' name='comissao_vendedor' size='7px' /></td>"+
			"<td>"+ cont +"</td>"+
			"<td>"+ idProduto 						 +"<input type='hidden' class='linha' name='id_produto' 			value='"+idProduto+"'				/></td>"+
			"<td>"+ descricaoProduto 				 +"<input type='hidden' class='linha' name='descricao_produto' 		value='"+descricaoProduto+"'		/></td>"+
			"<td>"+ quantidade 						 +"<input type='hidden' class='linha' name='qtd_produto' 			value='"+quantidade+"'				/></td>"+
			"<td>"+ ipi 							 +"<input type='hidden' class='linha' name='ipi' 					value='"+ipi+"'						/> <input type='hidden' class='linha' name='ipi_formatado' value='"+ipiFormatado+"' /></td>"+
			"<td>"+ valorUnitarioFormatado 			 +"<input type='hidden' class='linha' name='preco_unitario' 		value='"+valorUnitario+"'			/></td>"+
			"<td>"+ valorUnitarioComIpiFormatado 	 +"<input type='hidden' class='linha' name='preco_unitario_com_ipi' value='"+valorUnitarioComIpi+"'		/></td>"+
			"<td>"+ valorTotalProdutoFormatado 		 +"<input type='hidden' class='linha' name='preco_total' 			value='"+valorTotalProduto+"'		/></td>"+
			"<td>"+ valorTotalProdutoComIpiFormatado +"<input type='hidden' class='linha' name='preco_total_com_ipi' 	value='"+valorTotalProdutoComIpi+"'	/></td>"+
			"</tr>");
    	}

    	valorTotalPedido = valorTotalPedido;
    	valorTotalPedidoComIPI = valorTotalPedidoComIPI;

    	valorTotalPedidoFormatado = converteFloatMoeda(valorTotalPedido);
    	valorTotalPedidoComIPIFormatado = converteFloatMoeda(valorTotalPedidoComIPI);
    	
    	
    	keyPress();
    	if (form == '#formConfirmaPedido tbody'){
    		$('#valorTotal').append("<tr><td><input type='hidden' class='camposInput linha' name='valor_total' value='"+valorTotalPedido+"'/><b>Valor Total: R$ "+valorTotalPedidoFormatado+"</b></td></tr>");
    		$('#valorTotalComIPI').append("<tr><td><input type='hidden' class='camposInput linha' name='valor_total_com_ipi' value='"+valorTotalPedidoComIPI+"'/><b>Valor Total Com IPI: R$ "+valorTotalPedidoComIPIFormatado+"</b></td></tr>");
    	} else {
    		$('#valorTotalAltera').append("<tr><td><input type='hidden' class='camposInput linha' name='valor_total' value='"+valorTotalPedido+"'/><b>Valor Total: R$ "+valorTotalPedidoFormatado+"</b></td></tr>");
    		$('#valorTotalComIPIAltera').append("<tr><td><input type='hidden' class='camposInput linha' name='valor_total_com_ipi' value='"+valorTotalPedidoComIPI+"'/><b>Valor Total Com IPI: R$ "+valorTotalPedidoComIPIFormatado+"</b></td></tr>");
    	}
    	
    	$("input.valorMonetario").maskMoney({showSymbol:true, symbol:"", decimal:",", thousands:"."});
	}
	
	//ENVIA NOVO PEDIDO
	$('#enviar-pedido').click(function(evt){
		evt.preventDefault();
		
		//modal-footer
		$('.footer-pedido').html("<h3>Enviando Pedido...</h3>");
		/*
		$(this).attr('disabled', 'true');
		$(this).html("Enviando...");
		$('#cancelar-pedido').attr('disabled', 'true');
		*/
		
		//Monta o Objeto CamposAdicionais
		var camposAdicionais = {}, valores = [];
		camposAdicionais.prazo = '';
		var valor_total_com_ipi_com_desconto = 0, valor_total_com_desconto = 0;
		var descontoInformadoFormatado = 0;
		
		$('.camposInput').each(function(i){
			var valor = $(this).val();
			
			if($(this).attr('name') == 'desconto'){
				camposAdicionais.desconto = valor;
				if (valor != null){
					//descontoInformadoFormatado = ((valor/100));
					descontoInformadoFormatado = converteMoedaFloat(valor);
				}
			}
			if($(this).attr('name') == 'prazo' && camposAdicionais.prazo == '') {
				camposAdicionais.prazo = valor;
			}
			if($(this).attr('name') == 'observacao') {
				camposAdicionais.observacao = valor;
			}
			if($(this).attr('name') == 'valor_total') {
				camposAdicionais.valor_total = valor;
				
//				alert("Campos Adicionais - Valor Total: "+camposAdicionais.valor_total);
			}
			if($(this).attr('name') == 'valor_total_com_ipi') {
				camposAdicionais.valor_total_com_ipi = valor;
				
//				alert("Campos Adicionais - Valor Total com IPI: "+camposAdicionais.valor_total_com_ipi);
			}
		});
		
		//Monta o Objeto Produtos
		var produtos = {}, itens = [];
		//produtos.descricao = '';
		$('.linha').each(function(i){
			var valor = $(this).val();
			
			//if ($(this).attr('name') == 'comissao_vendedor') {
				//produtos.comissao = $(this).val();
				//produtos.comissao = 0; // Retirado a comissão do vendedor
			//}
			if ($(this).attr('name') == 'id_produto') {
				produtos.id = valor;
			}
			if ($(this).attr('name') == 'descricao_produto') {
				produtos.descricao = valor;
			}
			if ($(this).attr('name') == 'qtd_produto') {
				produtos.qtd = valor;
			}
			if ($(this).attr('name') == 'ipi') {
				produtos.ipi = valor;
			}
			if ($(this).attr('name') == 'ipi_formatado') {
				produtos.ipiFormatado = valor;
			}
			if ($(this).attr('name') == 'preco_unitario') {
//				produtos.precoUnitario = valor;
//				produtos.precoUnitarioComDesconto = formataValorMoeda((produtos.precoUnitario * descontoInformadoFormatado)/100);
//				produtos.precoUnitarioComDesconto = formataValorMoeda(produtos.precoUnitario - produtos.precoUnitarioComDesconto);
//				produtos.precoUnitarioComDesconto = formataValorMoeda(produtos.precoUnitarioComDesconto);
				
				
				produtos.precoUnitario = valor;
				produtos.precoUnitario = formataValorDecimal(produtos.precoUnitario);
				
				//produtos.precoUnitarioComDesconto = formataValorMoeda((produtos.precoUnitario * descontoInformadoFormatado)/100);
				produtos.precoUnitarioComDesconto = ((produtos.precoUnitario * descontoInformadoFormatado)/100);
				//produtos.precoUnitarioComDesconto = formataValorMoeda(produtos.precoUnitario - produtos.precoUnitarioComDesconto);
				produtos.precoUnitarioComDesconto = (produtos.precoUnitario - produtos.precoUnitarioComDesconto);
				produtos.precoUnitarioComDesconto = formataValorMoeda(produtos.precoUnitarioComDesconto);
				produtos.precoUnitarioComDesconto = formataValorDecimal(produtos.precoUnitarioComDesconto);
			}
			if ($(this).attr('name') == 'preco_unitario_com_ipi') {
				produtos.precoUnitarioComIpi = valor;
				
//				alert("Preco Unitario com IPI: "+produtos.precoUnitarioComIpi);
//				produtos.precoUnitarioComIpi = (produtos.precoUnitario * produtos.ipiFormatado);
//				produtos.precoUnitarioComIpi = formataValorMoeda(produtos.precoUnitarioComIpi);
//				
//				produtos.precoUnitarioComIpiComDesconto = (produtos.precoUnitarioComDesconto * produtos.ipiFormatado);
//				produtos.precoUnitarioComIpiComDesconto = formataValorMoeda(produtos.precoUnitarioComIpiComDesconto);
				
				//produtos.precoUnitarioComIpi = (produtos.precoUnitario * produtos.ipiFormatado);
				//produtos.precoUnitarioComIpi = formataValorMoeda(produtos.precoUnitarioComIpi);
				produtos.precoUnitarioComIpi = formataValorMoeda(produtos.precoUnitarioComIpi);
//				alert("Preco Unitario com IPI: "+produtos.precoUnitarioComIpi);
				
				//produtos.precoUnitarioComIpiComDesconto = (produtos.precoUnitarioComDesconto * produtos.ipiFormatado);
				
				produtos.precoUnitarioComIpiComDesconto = ((produtos.precoUnitarioComIpi * descontoInformadoFormatado)/100);
//				alert("Preco Unitario com IPI com Desconto 1: "+produtos.precoUnitarioComIpiComDesconto);
				
				var desconto = parseFloat(produtos.precoUnitarioComIpiComDesconto);
				var precoIpi = parseFloat(produtos.precoUnitarioComIpi);
				
				produtos.precoUnitarioComIpiComDesconto = (produtos.precoUnitarioComIpi - produtos.precoUnitarioComIpiComDesconto);
//				alert("Preco Unitario com IPI com Desconto 2: "+produtos.precoUnitarioComIpiComDesconto);
				
				produtos.precoUnitarioComIpiComDesconto = formataValorMoeda(produtos.precoUnitarioComIpiComDesconto);
				//produtos.precoUnitarioComIpiComDesconto = converteFloatMoeda(produtos.precoUnitarioComIpiComDesconto);
//				alert("Preco Unitario com IPI com Desconto 3: "+produtos.precoUnitarioComIpiComDesconto);
			}
			if ($(this).attr('name') == 'preco_total') {
//				produtos.precoTotal = valor;
//				alert(produtos.precoTotal);
//				
//				produtos.precoTotal = (produtos.precoUnitario * produtos.qtd);
//				produtos.precoTotal = formataValorMoeda(produtos.precoTotal);
//				
//				produtos.precoTotalComDesconto = (produtos.precoUnitarioComDesconto * produtos.qtd);
//				produtos.precoTotalComDesconto = formataValorMoeda(produtos.precoTotalComDesconto);
				
				produtos.precoTotal = valor
				//console.log(valor);
//				alert("Preco Total 1: "+produtos.precoTotal);
				
				//produtos.precoTotal = formataValorMoeda(produtos.precoTotal);
				//produtos.precoTotal = formataValorDecimal(produtos.precoTotal);
//				alert("Preco Total 2: "+produtos.precoTotal);
				
				produtos.precoTotalComDesconto = (produtos.precoUnitarioComDesconto * produtos.qtd);
//				alert("Preco Total com Desconto 1: "+produtos.precoTotalComDesconto);
				//produtos.precoTotalComDesconto = converteFloatMoeda(produtos.precoTotalComDesconto);
				produtos.precoTotalComDesconto = formataValorDecimal(produtos.precoTotalComDesconto);
//				alert("Preco Total com Desconto : "+produtos.precoTotalComDesconto);
				
			}
			if ($(this).attr('name') == 'preco_total_com_ipi') {
//				produtos.precoTotalComIpi = valor;
//				
//				produtos.precoTotalComIpi = (produtos.precoUnitarioComIpi * produtos.qtd);
//				produtos.precoTotalComIpi = formataValorMoeda(produtos.precoTotalComIpi);
//				
//				produtos.precoTotalComIpiComDesconto = (produtos.precoUnitarioComIpiComDesconto * produtos.qtd);
//				produtos.precoTotalComIpiComDesconto = formataValorMoeda(produtos.precoTotalComIpiComDesconto);
				
				produtos.precoTotalComIpi = valor;
//				alert("Preco Total com Ipi 1: "+produtos.precoTotalComIpi);
				
				produtos.precoTotalComIpi = formataValorMoeda(produtos.precoTotalComIpi);
				//produtos.precoTotalComIpi = converteFloatMoeda(produtos.precoTotalComIpi);
//				alert("Preco Total com Ipi 2: "+produtos.precoTotalComIpi);
				
				produtos.precoTotalComIpiComDesconto = (produtos.precoUnitarioComIpiComDesconto * produtos.qtd);
//				alert("Preco Total com Ipi com Desconto 1: "+produtos.precoTotalComIpiComDesconto);
				
				//produtos.precoTotalComIpiComDesconto = formataValorMoeda(produtos.precoTotalComIpiComDesconto);
				produtos.precoTotalComIpiComDesconto = formataValorDecimal(produtos.precoTotalComIpiComDesconto);
//				alert("Preco Total com Ipi com Desconto 2: "+produtos.precoTotalComIpiComDesconto);
				
				//produtos.precoTotalComIpiComDesconto = formataValorMoeda(produtos.precoTotalComIpiComDesconto);
				//produtos.precoTotalComIpiComDesconto = converteFloatMoeda(produtos.precoTotalComIpiComDesconto);
//				alert("Preco Total com Ipi com Desconto 3: "+produtos.precoTotalComIpiComDesconto);
				
				
				itens.push({ 
								//comissao: 						produtos.comissao,
								id: 							produtos.id,
								descricao: 						produtos.descricao,
								qtd: 							produtos.qtd, 
								ipi: 							produtos.ipi,
								precoUnitario: 					produtos.precoUnitario,
								precoUnitarioComDesconto: 		produtos.precoUnitarioComDesconto, 
								precoUnitarioComIpi: 			produtos.precoUnitarioComIpi,
								precoUnitarioComIpiComDesconto: produtos.precoUnitarioComIpiComDesconto,
								precoTotal: 					produtos.precoTotal, 
								precoTotalComDesconto: 			produtos.precoTotalComDesconto,
								precoTotalComIpi: 				produtos.precoTotalComIpi,
								precoTotalComIpiComDesconto: 	produtos.precoTotalComIpiComDesconto,
						});
				
				if (valor_total_com_desconto == 0){
					valor_total_com_desconto = parseFloat(produtos.precoTotalComDesconto);
				} else {
					valor_total_com_desconto += parseFloat(produtos.precoTotalComDesconto);
				}
				
				if (valor_total_com_ipi_com_desconto == 0){
					valor_total_com_ipi_com_desconto = parseFloat(produtos.precoTotalComIpiComDesconto);
				} else {
					valor_total_com_ipi_com_desconto += parseFloat(produtos.precoTotalComIpiComDesconto);
				}
			}

		});
		//var objProdutos = JSON.stringify(itens);
		//alert(obj);
		
//		alert("valor_total_com_ipi 1: "+formataValorMoeda(camposAdicionais.valor_total_com_ipi));
//		alert("valor_total_com_ipi 2: "+formataValorDecimal(camposAdicionais.valor_total_com_ipi));
//		alert("valor_total_com_ipi 3: "+formataValorDecimal(formataValorMoeda(camposAdicionais.valor_total_com_ipi)));
		
		valores.push({ 
						desconto: 							camposAdicionais.desconto, 
						prazo: 								camposAdicionais.prazo, 
						observacao: 						camposAdicionais.observacao,
						valor_total: 						formataValorDecimal(formataValorMoeda(camposAdicionais.valor_total)),
						valor_total_com_ipi: 				formataValorDecimal(camposAdicionais.valor_total_com_ipi),
						valor_total_com_desconto: 			formataValorDecimal(valor_total_com_desconto),
						valor_total_com_ipi_com_desconto: 	formataValorDecimal(formataValorMoeda(valor_total_com_ipi_com_desconto)),

					});
		//var objAdicional = JSON.stringify(valores);
		//alert(objAdicional);
		
		//Monta os Objetos em um só Objeto
		//var dados = {produtos: objProdutos, camposAdicionais: objAdicional};
		//alert(dados);
		
		//Monta os Objetos em um só Objeto
		var dados = {produtos: itens, camposAdicionais: valores};
		//alert(dados);
		//console.log(dados);
		
		var obj = JSON.stringify(dados);
		//alert(obj);
		
		var dados = {dados: obj};
		
		runAjax($('#formConfirmaPedido').attr("action"), dados, "json", redirect);
		return false;
	});
	
	//ENVIA ALTERACAO DO PEDIDO
	$('#enviar-alteracao-pedido').click(function(evt){
		evt.preventDefault();
		
		//modal-footer
		$('.footer-pedido').html("<h3>Alterando Pedido...</h3>");
		/*
		$(this).attr('disabled', 'true');
		$(this).html("Enviando...");
		$('#cancelar-pedido').attr('disabled', 'true');
		*/
		
		//Monta o Objeto CamposAdicionais
		var camposAdicionais = {}, valores = [];
		var valor_total_com_ipi_com_desconto = 0, valor_total_com_desconto = 0;
		var descontoInformadoFormatado = 0;
		
		$('.camposInput').each(function(i){
			var valor = $(this).val();
			
			if($(this).attr('name') == 'desconto'){
				camposAdicionais.desconto = valor;
				if (valor != null){
					//descontoInformadoFormatado = ((valor/100));
					descontoInformadoFormatado = converteMoedaFloat(valor);
				}
			}
			if($(this).attr('name') == 'prazo') {
				camposAdicionais.prazo = valor;
			}
			if($(this).attr('name') == 'observacao') {
				camposAdicionais.observacao = valor;
			}
			if($(this).attr('name') == 'valor_total') {
				camposAdicionais.valor_total = valor;
			}
			if($(this).attr('name') == 'valor_total_com_ipi') {
				camposAdicionais.valor_total_com_ipi = valor;
			}
			
		});
		
		//Monta o Objeto Produtos
		var produtos = {}, itens = [];
		$('.linha').each(function(i){
			var valor = $(this).val();
			
			//if ($(this).attr('name') == 'comissao_vendedor') {
				//produtos.comissao = $(this).val();
				//produtos.comissao = 0; // Retirado a comissão do vendedor
			//}
			if ($(this).attr('name') == 'id_produto') {
				produtos.id = valor;
			}
			if ($(this).attr('name') == 'descricao_produto') {
				produtos.descricao = valor;
			}
			if ($(this).attr('name') == 'qtd_produto') {
				produtos.qtd = valor;
			}
			if ($(this).attr('name') == 'ipi') {
				produtos.ipi = valor;
			}
			if ($(this).attr('name') == 'ipi_formatado') {
				produtos.ipiFormatado = valor;
			}
			if ($(this).attr('name') == 'preco_unitario') {
				produtos.precoUnitario = valor;
				produtos.precoUnitario = formataValorDecimal(produtos.precoUnitario);
				
				produtos.precoUnitarioComDesconto = ((produtos.precoUnitario * descontoInformadoFormatado)/100);
				produtos.precoUnitarioComDesconto = (produtos.precoUnitario - produtos.precoUnitarioComDesconto);
				produtos.precoUnitarioComDesconto = formataValorMoeda(produtos.precoUnitarioComDesconto);
				produtos.precoUnitarioComDesconto = formataValorDecimal(produtos.precoUnitarioComDesconto);
			}
			if ($(this).attr('name') == 'preco_unitario_com_ipi') {
				produtos.precoUnitarioComIpi = valor;
				
				produtos.precoUnitarioComIpi = formataValorMoeda(produtos.precoUnitarioComIpi);
				produtos.precoUnitarioComIpiComDesconto = ((produtos.precoUnitarioComIpi * descontoInformadoFormatado)/100);
				
				var desconto = parseFloat(produtos.precoUnitarioComIpiComDesconto);
				var precoIpi = parseFloat(produtos.precoUnitarioComIpi);
				
				produtos.precoUnitarioComIpiComDesconto = (produtos.precoUnitarioComIpi - produtos.precoUnitarioComIpiComDesconto);
				produtos.precoUnitarioComIpiComDesconto = formataValorMoeda(produtos.precoUnitarioComIpiComDesconto);
			}
			
			if ($(this).attr('name') == 'preco_total') {
				produtos.precoTotal = valor
				produtos.precoTotalComDesconto = (produtos.precoUnitarioComDesconto * produtos.qtd);
				produtos.precoTotalComDesconto = formataValorDecimal(produtos.precoTotalComDesconto);
			}
			if ($(this).attr('name') == 'preco_total_com_ipi') {
				produtos.precoTotalComIpi = valor;
				produtos.precoTotalComIpi = formataValorMoeda(produtos.precoTotalComIpi);
				produtos.precoTotalComIpiComDesconto = (produtos.precoUnitarioComIpiComDesconto * produtos.qtd);
				produtos.precoTotalComIpiComDesconto = formataValorDecimal(produtos.precoTotalComIpiComDesconto);
				
				itens.push({ 
							//comissao: 						produtos.comissao,
							id: 							produtos.id,
							qtd: 							produtos.qtd, 
							descricao: 						produtos.descricao,
							ipi: 							produtos.ipi,
							precoUnitario: 					produtos.precoUnitario,
							precoUnitarioComDesconto: 		produtos.precoUnitarioComDesconto, 
							precoUnitarioComIpi: 			produtos.precoUnitarioComIpi,
							precoUnitarioComIpiComDesconto: produtos.precoUnitarioComIpiComDesconto,
							precoTotal: 					produtos.precoTotal, 
							precoTotalComDesconto: 			produtos.precoTotalComDesconto,
							precoTotalComIpi: 				produtos.precoTotalComIpi,
							precoTotalComIpiComDesconto: 	produtos.precoTotalComIpiComDesconto,
						});
				
				if (valor_total_com_desconto == 0){
					valor_total_com_desconto = parseFloat(produtos.precoTotalComDesconto);
				} else {
					valor_total_com_desconto += parseFloat(produtos.precoTotalComDesconto);
				}
				
				if (valor_total_com_ipi_com_desconto == 0){
					valor_total_com_ipi_com_desconto = parseFloat(produtos.precoTotalComIpiComDesconto);
				} else {
					valor_total_com_ipi_com_desconto += parseFloat(produtos.precoTotalComIpiComDesconto);
				}
				
			}
			
		});
		//var obj = JSON.stringify(itens);
		//alert(obj);
		
		valores.push({ 
						desconto: 							camposAdicionais.desconto, 
						prazo: 								camposAdicionais.prazo, 
						observacao: 						camposAdicionais.observacao,
						valor_total: 						formataValorDecimal(formataValorMoeda(camposAdicionais.valor_total)),
						valor_total_com_ipi: 				formataValorDecimal(camposAdicionais.valor_total_com_ipi),
						valor_total_com_desconto: 			formataValorDecimal(valor_total_com_desconto),
						valor_total_com_ipi_com_desconto: 	formataValorDecimal(formataValorMoeda(valor_total_com_ipi_com_desconto)),
					});
		
		//var objAdicional = JSON.stringify(valores);
		//alert(objAdicional);
		
		//Monta os Objetos em um só Objeto
		//var dados = {produtos: obj, camposAdicionais: objAdicional};
		//alert(dados);
		
		var codigo = $(this).attr('codPedido');
		
		var dados = {pedido: codigo, produtos: itens, camposAdicionais: valores};
		//alert(dados);
		//console.log(dados);
		
		var obj = JSON.stringify(dados);
		//alert(obj);
		
		var dados = {dados: obj};
		
		runAjax($('#formConfirmaAlteracaoPedido').attr("action"), dados, "json", redirect);
		return false;
	});
	
	function redirect(txt){
//		alert(txt);
//		alert(txt.redirect);
		//window.location.reload();
		//location.href="../pedido";
		
		//alert(txt.redirect);
		window.location = txt.redirect;
		
	}
	
    function runAjax(url, datas, dataType, callBackSuccess) {
    	var eXmlIE = false;
    	if (dataType == "xml") {
    		var eXmlIE = $.browser.msie;
    		if ($.browser.msie != undefined || $.browser.msie) {
    			dataType = "text";
    			eXmlIE = true;
    		} else {
    			dataType = "html";
    			eXmlIE = false;
    		}
    	}
    	$.ajax({
    		type : "POST",
    		url : url,
    		data : datas,
    		dataType : dataType,
    		success : function(data) {
    			if (eXmlIE) {
    				data = parseXMLDiferentBrowsers(data);
    			}
    			callBackSuccess(data);
    		},
    		error : function(xhr, status, errorThrown) {
    			if (xhr.status == "200" || xhr.status == "202") {
    				if (eXmlIE) {
    					data = parseXMLDiferentBrowsers(data);
    				}
    				callBackSuccess(xhr);
    			}
    			if (xhr.status == "12031") {
    				alert("O servidor está fora do ar! Por favor aguarde um instante! Caso o problema persista, entre em contato com o suporte!");
    			} else {
    				// alert(xhr.status);
    			}
    		}
    	});
    }

    function parseXMLDiferentBrowsers(data) {
    	var xml = "";
    	if (typeof data == "string") {
    		xml = new ActiveXObject("Microsoft.XMLDOM");
    		xml.async = false;
    		xml.loadXML(data);
    	} else {
    		xml = data;
    	}
    	return xml;
    }
    
	$("form#alterar-senha").submit(function(){
		runAjax($(this).attr("action"), $(this).serialize(), "text", confimRetirada);
		return false;
	});	
	
	function confimRetirada(txt){
		alert(txt);
		if (txt == 'Senha alterada com sucesso!'){
			window.location.reload();
		}
	}
	
	/*
	@brief Converte um valor no formato float ex: 25.6322365 para uma string só com 2 casas decimais ex: 25.63
	@param valor(float) - o valor float
	@return valor(string) - o valor em string
	 */
	function formataValorMoeda(valor){
		var v = null;
		valor = ""+valor;
		
		v = valor.indexOf(".",0);
		//encontrou o ponto
		
		v = valor.substring(0,(v+3));
		//pega todos os caracteres até o ponto mais duas casas
		
		valor = v;
		return valor;
	}
	
	function formataValorDecimal(valor){
		valor = ""+valor;
		c = valor.indexOf(".",0);
		if(c > 0){
			//separa as partes em inteiro e decimal
			inteiro = valor.substring(0,c);
			decimal = valor.substring(c+1,valor.length);
			
			tamDecimal = decimal.length;
			if (tamDecimal == 1){
				decimal = decimal+"0";
			} else if (tamDecimal > 2) {
				tresUltimasCasasDecimais = decimal.substring(0, 3);
				duasUltimasCasasDecimais = tresUltimasCasasDecimais.substring(0, 2);
				ultimaCasaDecimal = tresUltimasCasasDecimais.substring(2, 3);
				
				//converte para inteiro
				ultimaCasaDecimal = parseInt(ultimaCasaDecimal);
				
				if (ultimaCasaDecimal >= 5){
					duasUltimasCasasDecimais = parseInt(duasUltimasCasasDecimais);
					duasUltimasCasasDecimais = duasUltimasCasasDecimais + 1;
				}
				decimal = duasUltimasCasasDecimais;
			}
		} else {
			inteiro = valor;
			decimal = "00";
		}
		valor = inteiro+"."+decimal;
		return valor;
	}
	
	/*
	@brief Converte um valor em formato float para uma string em formato moeda
	@param valor(float) - o valor float
	@return valor(string) - o valor em moeda
	*/
	function converteFloatMoeda(valor){
		var inteiro = null, decimal = null, c = null, j = null, v = null, tamanhoPreConversaoString = null, tamanhoPosConversaoString = null;
		var aux = new Array();
		valor = ""+valor;
		
		//alert(valor);
		
		c = valor.indexOf(".",0);
		
		//encontrou o ponto na string
		if(c > 0){
			//separa as partes em inteiro e decimal
			inteiro = valor.substring(0,c);
			decimal = valor.substring(c+1,valor.length);
		}else{
			inteiro = valor;
			decimal = "00";
		}
		
		//pega a parte inteiro de 3 em 3 partes
		for (j = inteiro.length, c = 0; j > 0; j-=3, c++){
			aux[c]=inteiro.substring(j-3,j);
			
			//alert(aux[c]);
		}
		
		//percorre a string acrescentando os pontos
		inteiro = "";
		for(c = aux.length-1; c >= 0; c--){
			inteiro += aux[c]+'.';
			
			//alert("inteiro: "+inteiro);
		}

		//retirando o ultimo ponto e finalizando a parte inteiro
		inteiro = inteiro.substring(0,inteiro.length-1);
		
		//alert("inteiro: "+inteiro);
		
		//verifica e corrige, se existe no valor decimal o "0" antes de qualquer número, pois
		//ao converter ele apaga o "0" da frente e adiciona "0" no final, ficando assim o valor errado
		//ex: 03 -> 3 -> 30

		//pega o tamanho da string antes de converter em inteiro
		tamanhoPreConversaoString = decimal.length; 
		
		//converte para inteiro
		decimal = parseInt(decimal); 
		
		//converte para string
		decimal = ""+decimal; 
		
		//pega o tamanho da string após a conversão para inteiro
		tamanhoPosConversaoString = decimal.length; 
		
		//verifica se o tamanho de antes é maior que o depois, caso seja, adiciona o "0" na frente
		if (tamanhoPreConversaoString > tamanhoPosConversaoString){
			decimal = "0"+decimal;
		}
		
		
		if(isNaN(decimal)){
			decimal = "00";
		}else{
			decimal = ""+decimal;
			if(decimal.length === 1){
				decimal = decimal+"0";
			}
		}
		//valor = "R$ "+inteiro+","+decimal;
		valor = inteiro+","+decimal;
		
		v = valor.indexOf(",",0);
		//encontrou a vírgula, após a transformação em decimal
		
		v = valor.substring(0,(v+3));
		//pega todos os caracteres até a vírgula mais duas casas
		
		valor = v;
		return valor;
	}
	
	/*
	@brief Converte uma string em formato moeda para float
	@param valor(string) - o valor em moeda
	@return valor(float) - o valor em float
	*/
	function converteMoedaFloat(valor){
		if(valor === ""){
			valor =  0;
		}else{
			valor = valor.replace(".","");
			valor = valor.replace(",",".");
			valor = parseFloat(valor);
		}
		return valor;
	}
	
});